/*
 * Import.java
 *
 * Created on 20 marzo 2004, 1.01
 */

package net.ermannofranco.xml.schema;

/**
 * 
 * @author ermanno (ermanno.franco@gmail.com)
 */
public class Import extends SchemaTag {

	private static final long serialVersionUID = -2901042904327348494L;

	/**
	 * Creates a new instance of Import Protetto
	 * 
	 * @param container
	 *            lo schema contenitore
	 */
	protected Import(Schema container) {
		super("import", 1, container);
	}

	/**
	 * @param namespace
	 * @return
	 */
	public Import setNamespace(String namespace) {
		// Static.validateNMToken(namespace);

		addAttr("namespace", namespace);
		return this;
	}

	/**
	 * @param schemaLocation
	 * @return
	 */
	public Import setSchemaLocation(String schemaLocation) {
		// Static.validateNMToken(namespace);

		addAttr("schemaLocation", schemaLocation);
		return this;
	}

	/**
	 * aggiunge un tag Annotation che contiene un tag Documentation
	 * 
	 * @param explanation
	 *            Stringa di documentazione
	 * @return autoriferimento all'oggetto corrente
	 */
	public Import addDocumentation(String explanation) {
		addAnnotation().addDocumentation(explanation);
		return this;
	}

	/**
	 * aggiunge un tag Annotation che contiene un tag Documentation
	 * 
	 * @param explanation
	 *            testo della documentazione
	 * @param language
	 *            attributo di xml:lang, seguire le regole di i18n
	 * @return riferimento all'oggetto corrente
	 */

	public Import addDocumentation(String explanation, String language) {
		addAnnotation().addDocumentation(explanation, language);
		return this;
	}
}
